package com.situ.sal.service.impl;
import java.util.List;

import com.situ.sal.entity.SalChance;
import com.situ.util.entity.CstCustomer;
import com.situ.util.entity.CstLinkman;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import com.situ.sal.service.SalPlanService;
import com.situ.sal.dao.SalPlanDao;
import com.situ.util.Assist;
import com.situ.sal.entity.SalPlan;
/**
 * SalPlan的服务接口的实现类
 * 
 * @author 胡文 qq:986776
 *
 */
@Service
public class SalPlanServiceImpl implements SalPlanService {
	private final Logger LOG = LogManager.getLogger(this.getClass());

	@Autowired
	private SalPlanDao salPlanDao;

/**
* 查询....
*/
	@Override
	public List<SalPlan> find(SalPlan value) {

		List<SalPlan> result = salPlanDao.selectSalPlanByObj(value);

		return result;
	}
    /**
* 根据id查询
*/
	@Override
	public SalPlan findOne(Integer id) {

		SalPlan result = salPlanDao.selectSalPlanById(id);

		return result;
	}

/**
* 添加不为空
*/
	@Override
	public SalPlan saveNotNull(SalPlan value) {
		if (value == null) {
			if (LOG.isDebugEnabled()) {
				LOG.debug("执行将SalPlan中属性值不为null的数据保存到数据库-->失败:对象不能为空");
			}
			return value;
		}
		if(value.getPla_chc_id() == null || value.getPla_date() == null || value.getPla_todo() == null  ){
			if (LOG.isDebugEnabled()) {
				LOG.debug("执行将SalPlan中属性值不为null的数据保存到数据库-->失败:存在不能为空的空值");
			}
			return value;
		}
		int result = salPlanDao.insertNotNullSalPlan(value);
		if (LOG.isDebugEnabled()) {
			LOG.debug("执行将SalPlan中属性值不为null的数据保存到数据库-->结果:", result);
		}
		return value;
	}
	@Override
    /**
* 修改不为空
*/
	public int updateNotNullById(SalPlan value) {
		if (value == null) {
			if (LOG.isDebugEnabled()) {
				LOG.debug("执行通过SalPlan的id更新SalPlan中属性不为null的数据-->失败:对象为null");
			}
			return 0;
		}
		int result = salPlanDao.updateNotNullSalPlanById(value);
		if (LOG.isDebugEnabled()) {
			LOG.debug("执行通过SalPlan的id更新SalPlan中属性不为null的数据-->结果:", result);
		}
		return result;
	}
    /**
* 删除
*/
	@Override
	public int deleteById(Integer id) {
		if (id == null) {
			if (LOG.isDebugEnabled()) {
				LOG.debug("执行通过SalPlan的id删除SalPlan-->失败:id不能为空");
			}
			return 0;
		}
		int result = salPlanDao.deleteSalPlanById(id);
		if (LOG.isDebugEnabled()) {
			LOG.debug("执行通过SalPlan的id删除SalPlan-->结果:", result);
		}
		return result;
	}

	@Override
	public void addSalPlan(SalPlan s) {
		salPlanDao.addSalPlan(s);
	}

	@Override
	public List<SalPlan> queryBySpId(int id) {
		return salPlanDao.queryBySpId(id);
	}

	@Override
	public void updateSalP(SalPlan s) {
		salPlanDao.updateSalP(s);
	}

	@Override
	public void deleteSPById(int id) {
		salPlanDao.deleteSPById(id);
	}

	@Override
	public void updatePlaResult(SalPlan s) {
		salPlanDao.updatePlaResult(s);
	}

	public void updateSpZt(SalChance s) {
		salPlanDao.updateSpCg(s);
	}
	@Override
	public void addCstcustomer(CstCustomer cc) {
		salPlanDao.addCstcustomer(cc);
	}

	@Override
	public void addCstLinkman(CstLinkman c) {
		salPlanDao.addCstLinkman(c);
	}
}